 /* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.





Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#import <Foundation/Foundation.h>
#import <JDCloudOCSDKIotcore/IotcoreModel.h>

@implementation OmPropVo
-(id) initWithUuid:(NSString*) uuid
      omId:(NSString*)omId
      omName:(NSString*)omName
      attrName:(NSString*)attrName
      attrText:(NSString*)attrText
      attrType:(NSString*)attrType
      userPin:(NSString*)userPin
      instanceId:(NSString*)instanceId { 
     self.uuid = uuid;               
     self.omId = omId;               
     self.omName = omName;               
     self.attrName = attrName;               
     self.attrText = attrText;               
     self.attrType = attrType;               
     self.userPin = userPin;               
     self.instanceId = instanceId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self uuid])
    {
        [result setValue:[self uuid] forKey:@"uuid"];
    }
    if([self omId])
    {
        [result setValue:[self omId] forKey:@"omId"];
    }
    if([self omName])
    {
        [result setValue:[self omName] forKey:@"omName"];
    }
    if([self attrName])
    {
        [result setValue:[self attrName] forKey:@"attrName"];
    }
    if([self attrText])
    {
        [result setValue:[self attrText] forKey:@"attrText"];
    }
    if([self attrType])
    {
        [result setValue:[self attrType] forKey:@"attrType"];
    }
    if([self userPin])
    {
        [result setValue:[self userPin] forKey:@"userPin"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.uuid = [dictionary objectForKey:@"uuid"];
    self.omId = [dictionary objectForKey:@"omId"];
    self.omName = [dictionary objectForKey:@"omName"];
    self.attrName = [dictionary objectForKey:@"attrName"];
    self.attrText = [dictionary objectForKey:@"attrText"];
    self.attrType = [dictionary objectForKey:@"attrType"];
    self.userPin = [dictionary objectForKey:@"userPin"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
}
 @end
@implementation DeviceCommandVO
-(id) initWithName:(NSString*) name
      inputData:(NSString*)inputData { 
     self.name = name;               
     self.inputData = inputData;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self inputData])
    {
        [result setValue:[self inputData] forKey:@"inputData"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.inputData = [dictionary objectForKey:@"inputData"];
    return self;
}
 @end
@implementation Action
-(id) initWithActionId:(NSString*) actionId
      actionType:(NSString*)actionType
      operationType:(NSString*)operationType
      configuration:(NSObject*)configuration { 
     self.actionId = actionId;               
     self.actionType = actionType;               
     self.operationType = operationType;               
     self.configuration = configuration;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self actionId])
    {
        [result setValue:[self actionId] forKey:@"actionId"];
    }
    if([self actionType])
    {
        [result setValue:[self actionType] forKey:@"actionType"];
    }
    if([self operationType])
    {
        [result setValue:[self operationType] forKey:@"operationType"];
    }
    if([self configuration])
    {
        [result setValue:[self configuration] forKey:@"configuration"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.actionId = [dictionary objectForKey:@"actionId"];
    self.actionType = [dictionary objectForKey:@"actionType"];
    self.operationType = [dictionary objectForKey:@"operationType"];
    self.configuration = [dictionary objectForKey:@"configuration"];
    return self;
}
 @end
@implementation RuleBaseInfo
-(id) initWithId:(NSString*) idValue
      name:(NSString*)name
      desc:(NSString*)desc
      status:(NSString*)status
      createdTime:(NSString*)createdTime { 
     self.idValue = idValue;               
     self.name = name;               
     self.desc = desc;               
     self.status = status;               
     self.createdTime = createdTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self desc])
    {
        [result setValue:[self desc] forKey:@"desc"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.desc = [dictionary objectForKey:@"desc"];
    self.status = [dictionary objectForKey:@"status"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    return self;
}
 @end
@implementation ProductCategory
-(id) initWithProductCategoryName:(NSString*) productCategoryName
      productCategoryId:(NSString*)productCategoryId { 
     self.productCategoryName = productCategoryName;               
     self.productCategoryId = productCategoryId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self productCategoryName])
    {
        [result setValue:[self productCategoryName] forKey:@"productCategoryName"];
    }
    if([self productCategoryId])
    {
        [result setValue:[self productCategoryId] forKey:@"productCategoryId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.productCategoryName = [dictionary objectForKey:@"productCategoryName"];
    self.productCategoryId = [dictionary objectForKey:@"productCategoryId"];
    return self;
}
 @end
@implementation ThingModelTemplate
-(id) initWithThingModelTemplateId:(NSString*) thingModelTemplateId
      thingModelTemplateName:(NSString*)thingModelTemplateName
      productCategoryNames:(NSArray<NSString*>*)productCategoryNames
      productCategoryIds:(NSArray<NSString*>*)productCategoryIds
      updatedTime:(NSNumber*)updatedTime
      userPin:(NSString*)userPin
      ossPath:(NSString*)ossPath { 
     self.thingModelTemplateId = thingModelTemplateId;               
     self.thingModelTemplateName = thingModelTemplateName;               
     self.productCategoryNames = productCategoryNames;               
     self.productCategoryIds = productCategoryIds;               
     self.updatedTime = updatedTime;               
     self.userPin = userPin;               
     self.ossPath = ossPath;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self thingModelTemplateId])
    {
        [result setValue:[self thingModelTemplateId] forKey:@"thingModelTemplateId"];
    }
    if([self thingModelTemplateName])
    {
        [result setValue:[self thingModelTemplateName] forKey:@"thingModelTemplateName"];
    }
    if([self productCategoryNames])
    {
        [result setValue:[self productCategoryNames] forKey:@"productCategoryNames"];
    }
    if([self productCategoryIds])
    {
        [result setValue:[self productCategoryIds] forKey:@"productCategoryIds"];
    }
    if([self updatedTime])
    {
        [result setValue:[self updatedTime] forKey:@"updatedTime"];
    }
    if([self userPin])
    {
        [result setValue:[self userPin] forKey:@"userPin"];
    }
    if([self ossPath])
    {
        [result setValue:[self ossPath] forKey:@"ossPath"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.thingModelTemplateId = [dictionary objectForKey:@"thingModelTemplateId"];
    self.thingModelTemplateName = [dictionary objectForKey:@"thingModelTemplateName"];
    self.productCategoryNames = [dictionary objectForKey:@"productCategoryNames"];
    self.productCategoryIds = [dictionary objectForKey:@"productCategoryIds"];
    self.updatedTime = [dictionary objectForKey:@"updatedTime"];
    self.userPin = [dictionary objectForKey:@"userPin"];
    self.ossPath = [dictionary objectForKey:@"ossPath"];
    return self;
}
 @end
@implementation ProductAbility
-(id) initWithAbilityId:(NSString*) abilityId
      abilityName:(NSString*)abilityName
      abilityType:(NSNumber*)abilityType
      abilityDescription:(NSString*)abilityDescription
      accessMode:(NSString*)accessMode
      abilityDataType:(NSString*)abilityDataType
      abilityDataSpec:(NSString*)abilityDataSpec
      customized:(NSNumber*)customized
      createdTime:(NSNumber*)createdTime { 
     self.abilityId = abilityId;               
     self.abilityName = abilityName;               
     self.abilityType = abilityType;               
     self.abilityDescription = abilityDescription;               
     self.accessMode = accessMode;               
     self.abilityDataType = abilityDataType;               
     self.abilityDataSpec = abilityDataSpec;               
     self.customized = customized;               
     self.createdTime = createdTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self abilityId])
    {
        [result setValue:[self abilityId] forKey:@"abilityId"];
    }
    if([self abilityName])
    {
        [result setValue:[self abilityName] forKey:@"abilityName"];
    }
    if([self abilityType])
    {
        [result setValue:[self abilityType] forKey:@"abilityType"];
    }
    if([self abilityDescription])
    {
        [result setValue:[self abilityDescription] forKey:@"abilityDescription"];
    }
    if([self accessMode])
    {
        [result setValue:[self accessMode] forKey:@"accessMode"];
    }
    if([self abilityDataType])
    {
        [result setValue:[self abilityDataType] forKey:@"abilityDataType"];
    }
    if([self abilityDataSpec])
    {
        [result setValue:[self abilityDataSpec] forKey:@"abilityDataSpec"];
    }
    if([self customized])
    {
        [result setValue:[self customized] forKey:@"customized"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.abilityId = [dictionary objectForKey:@"abilityId"];
    self.abilityName = [dictionary objectForKey:@"abilityName"];
    self.abilityType = [dictionary objectForKey:@"abilityType"];
    self.abilityDescription = [dictionary objectForKey:@"abilityDescription"];
    self.accessMode = [dictionary objectForKey:@"accessMode"];
    self.abilityDataType = [dictionary objectForKey:@"abilityDataType"];
    self.abilityDataSpec = [dictionary objectForKey:@"abilityDataSpec"];
    self.customized = [dictionary objectForKey:@"customized"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    return self;
}
 @end
@implementation ProductProperty
-(id) initWithName:(NSString*) name
      descriptionValue:(NSString*)descriptionValue
      dataType:(NSString*)dataType
      unit:(NSString*)unit
      unitName:(NSString*)unitName
      min:(NSNumber*)min
      max:(NSNumber*)max
      step:(NSNumber*)step
      length:(NSNumber*)length
      enumInfo:(NSObject*)enumInfo { 
     self.name = name;               
     self.descriptionValue = descriptionValue;               
     self.dataType = dataType;               
     self.unit = unit;               
     self.unitName = unitName;               
     self.min = min;               
     self.max = max;               
     self.step = step;               
     self.length = length;               
     self.enumInfo = enumInfo;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self dataType])
    {
        [result setValue:[self dataType] forKey:@"dataType"];
    }
    if([self unit])
    {
        [result setValue:[self unit] forKey:@"unit"];
    }
    if([self unitName])
    {
        [result setValue:[self unitName] forKey:@"unitName"];
    }
    if([self min])
    {
        [result setValue:[self min] forKey:@"min"];
    }
    if([self max])
    {
        [result setValue:[self max] forKey:@"max"];
    }
    if([self step])
    {
        [result setValue:[self step] forKey:@"step"];
    }
    if([self length])
    {
        [result setValue:[self length] forKey:@"length"];
    }
    if([self enumInfo])
    {
        [result setValue:[self enumInfo] forKey:@"enumInfo"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.dataType = [dictionary objectForKey:@"dataType"];
    self.unit = [dictionary objectForKey:@"unit"];
    self.unitName = [dictionary objectForKey:@"unitName"];
    self.min = [dictionary objectForKey:@"min"];
    self.max = [dictionary objectForKey:@"max"];
    self.step = [dictionary objectForKey:@"step"];
    self.length = [dictionary objectForKey:@"length"];
    self.enumInfo = [dictionary objectForKey:@"enumInfo"];
    return self;
}
 @end
@implementation Azs
-(id) initWithAzId:(NSString*) azId
      azName:(NSString*)azName { 
     self.azId = azId;               
     self.azName = azName;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self azId])
    {
        [result setValue:[self azId] forKey:@"azId"];
    }
    if([self azName])
    {
        [result setValue:[self azName] forKey:@"azName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.azId = [dictionary objectForKey:@"azId"];
    self.azName = [dictionary objectForKey:@"azName"];
    return self;
}
 @end
@implementation DeviceEnrollVO
-(id) initWithDeviceIds:(NSArray<NSString*>*) deviceIds
      modelName:(NSString*)modelName
      deviceType:(NSNumber*)deviceType
      parentDeviceName:(NSString*)parentDeviceName { 
     self.deviceIds = deviceIds;               
     self.modelName = modelName;               
     self.deviceType = deviceType;               
     self.parentDeviceName = parentDeviceName;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self deviceIds])
    {
        [result setValue:[self deviceIds] forKey:@"deviceIds"];
    }
    if([self modelName])
    {
        [result setValue:[self modelName] forKey:@"modelName"];
    }
    if([self deviceType])
    {
        [result setValue:[self deviceType] forKey:@"deviceType"];
    }
    if([self parentDeviceName])
    {
        [result setValue:[self parentDeviceName] forKey:@"parentDeviceName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.deviceIds = [dictionary objectForKey:@"deviceIds"];
    self.modelName = [dictionary objectForKey:@"modelName"];
    self.deviceType = [dictionary objectForKey:@"deviceType"];
    self.parentDeviceName = [dictionary objectForKey:@"parentDeviceName"];
    return self;
}
 @end
@implementation DescribeDevicePageVo
-(id) initWithUuid:(NSString*) uuid
      instanceId:(NSString*)instanceId
      deviceId:(NSString*)deviceId
      displayName:(NSString*)displayName
      deviceType:(NSString*)deviceType
      deviceState:(NSString*)deviceState
      omId:(NSString*)omId
      deviceFilePath:(NSString*)deviceFilePath
      omName:(NSString*)omName
      createTime:(NSString*)createTime
      userPin:(NSString*)userPin
      parentUuid:(NSString*)parentUuid
      parentName:(NSString*)parentName
      lastConnectTime:(NSString*)lastConnectTime { 
     self.uuid = uuid;               
     self.instanceId = instanceId;               
     self.deviceId = deviceId;               
     self.displayName = displayName;               
     self.deviceType = deviceType;               
     self.deviceState = deviceState;               
     self.omId = omId;               
     self.deviceFilePath = deviceFilePath;               
     self.omName = omName;               
     self.createTime = createTime;               
     self.userPin = userPin;               
     self.parentUuid = parentUuid;               
     self.parentName = parentName;               
     self.lastConnectTime = lastConnectTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self uuid])
    {
        [result setValue:[self uuid] forKey:@"uuid"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    if([self deviceId])
    {
        [result setValue:[self deviceId] forKey:@"deviceId"];
    }
    if([self displayName])
    {
        [result setValue:[self displayName] forKey:@"displayName"];
    }
    if([self deviceType])
    {
        [result setValue:[self deviceType] forKey:@"deviceType"];
    }
    if([self deviceState])
    {
        [result setValue:[self deviceState] forKey:@"deviceState"];
    }
    if([self omId])
    {
        [result setValue:[self omId] forKey:@"omId"];
    }
    if([self deviceFilePath])
    {
        [result setValue:[self deviceFilePath] forKey:@"deviceFilePath"];
    }
    if([self omName])
    {
        [result setValue:[self omName] forKey:@"omName"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self userPin])
    {
        [result setValue:[self userPin] forKey:@"userPin"];
    }
    if([self parentUuid])
    {
        [result setValue:[self parentUuid] forKey:@"parentUuid"];
    }
    if([self parentName])
    {
        [result setValue:[self parentName] forKey:@"parentName"];
    }
    if([self lastConnectTime])
    {
        [result setValue:[self lastConnectTime] forKey:@"lastConnectTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.uuid = [dictionary objectForKey:@"uuid"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    self.deviceId = [dictionary objectForKey:@"deviceId"];
    self.displayName = [dictionary objectForKey:@"displayName"];
    self.deviceType = [dictionary objectForKey:@"deviceType"];
    self.deviceState = [dictionary objectForKey:@"deviceState"];
    self.omId = [dictionary objectForKey:@"omId"];
    self.deviceFilePath = [dictionary objectForKey:@"deviceFilePath"];
    self.omName = [dictionary objectForKey:@"omName"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.userPin = [dictionary objectForKey:@"userPin"];
    self.parentUuid = [dictionary objectForKey:@"parentUuid"];
    self.parentName = [dictionary objectForKey:@"parentName"];
    self.lastConnectTime = [dictionary objectForKey:@"lastConnectTime"];
    return self;
}
 @end
@implementation OnlineInfo
-(id) initWithDeviceId:(NSString*) deviceId
      online:(NSNumber*)online
      lastConnectTime:(NSString*)lastConnectTime { 
     self.deviceId = deviceId;               
     self.online = online;               
     self.lastConnectTime = lastConnectTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self deviceId])
    {
        [result setValue:[self deviceId] forKey:@"deviceId"];
    }
    if([self online])
    {
        [result setValue:[self online] forKey:@"online"];
    }
    if([self lastConnectTime])
    {
        [result setValue:[self lastConnectTime] forKey:@"lastConnectTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.deviceId = [dictionary objectForKey:@"deviceId"];
    self.online = [dictionary objectForKey:@"online"];
    self.lastConnectTime = [dictionary objectForKey:@"lastConnectTime"];
    return self;
}
 @end
@implementation Event
-(id) initWithName:(NSString*) name
      eventId:(NSString*)eventId
      eventType:(NSString*)eventType
      output:(NSObject*)output
      createdTime:(NSNumber*)createdTime { 
     self.name = name;               
     self.eventId = eventId;               
     self.eventType = eventType;               
     self.output = output;               
     self.createdTime = createdTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self eventId])
    {
        [result setValue:[self eventId] forKey:@"eventId"];
    }
    if([self eventType])
    {
        [result setValue:[self eventType] forKey:@"eventType"];
    }
    if([self output])
    {
        [result setValue:[self output] forKey:@"output"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.eventId = [dictionary objectForKey:@"eventId"];
    self.eventType = [dictionary objectForKey:@"eventType"];
    self.output = [dictionary objectForKey:@"output"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    return self;
}
 @end
@implementation DeviceVO
-(id) initWithDeviceId:(NSString*) deviceId
      deviceName:(NSString*)deviceName
      parentId:(NSString*)parentId
      deviceType:(NSString*)deviceType
      status:(NSNumber*)status
      identifier:(NSString*)identifier
      secret:(NSString*)secret
      descriptionValue:(NSString*)descriptionValue
      activatedTime:(NSNumber*)activatedTime
      lastConnectedTime:(NSNumber*)lastConnectedTime
      createdTime:(NSNumber*)createdTime
      updatedTime:(NSNumber*)updatedTime
      productKey:(NSString*)productKey
      productName:(NSString*)productName
      productSecret:(NSString*)productSecret
      model:(NSString*)model
      manufacturer:(NSString*)manufacturer
      dynamicRegister:(NSNumber*)dynamicRegister { 
     self.deviceId = deviceId;               
     self.deviceName = deviceName;               
     self.parentId = parentId;               
     self.deviceType = deviceType;               
     self.status = status;               
     self.identifier = identifier;               
     self.secret = secret;               
     self.descriptionValue = descriptionValue;               
     self.activatedTime = activatedTime;               
     self.lastConnectedTime = lastConnectedTime;               
     self.createdTime = createdTime;               
     self.updatedTime = updatedTime;               
     self.productKey = productKey;               
     self.productName = productName;               
     self.productSecret = productSecret;               
     self.model = model;               
     self.manufacturer = manufacturer;               
     self.dynamicRegister = dynamicRegister;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self deviceId])
    {
        [result setValue:[self deviceId] forKey:@"deviceId"];
    }
    if([self deviceName])
    {
        [result setValue:[self deviceName] forKey:@"deviceName"];
    }
    if([self parentId])
    {
        [result setValue:[self parentId] forKey:@"parentId"];
    }
    if([self deviceType])
    {
        [result setValue:[self deviceType] forKey:@"deviceType"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self identifier])
    {
        [result setValue:[self identifier] forKey:@"identifier"];
    }
    if([self secret])
    {
        [result setValue:[self secret] forKey:@"secret"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self activatedTime])
    {
        [result setValue:[self activatedTime] forKey:@"activatedTime"];
    }
    if([self lastConnectedTime])
    {
        [result setValue:[self lastConnectedTime] forKey:@"lastConnectedTime"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self updatedTime])
    {
        [result setValue:[self updatedTime] forKey:@"updatedTime"];
    }
    if([self productKey])
    {
        [result setValue:[self productKey] forKey:@"productKey"];
    }
    if([self productName])
    {
        [result setValue:[self productName] forKey:@"productName"];
    }
    if([self productSecret])
    {
        [result setValue:[self productSecret] forKey:@"productSecret"];
    }
    if([self model])
    {
        [result setValue:[self model] forKey:@"model"];
    }
    if([self manufacturer])
    {
        [result setValue:[self manufacturer] forKey:@"manufacturer"];
    }
    if([self dynamicRegister])
    {
        [result setValue:[self dynamicRegister] forKey:@"dynamicRegister"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.deviceId = [dictionary objectForKey:@"deviceId"];
    self.deviceName = [dictionary objectForKey:@"deviceName"];
    self.parentId = [dictionary objectForKey:@"parentId"];
    self.deviceType = [dictionary objectForKey:@"deviceType"];
    self.status = [dictionary objectForKey:@"status"];
    self.identifier = [dictionary objectForKey:@"identifier"];
    self.secret = [dictionary objectForKey:@"secret"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.activatedTime = [dictionary objectForKey:@"activatedTime"];
    self.lastConnectedTime = [dictionary objectForKey:@"lastConnectedTime"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    self.updatedTime = [dictionary objectForKey:@"updatedTime"];
    self.productKey = [dictionary objectForKey:@"productKey"];
    self.productName = [dictionary objectForKey:@"productName"];
    self.productSecret = [dictionary objectForKey:@"productSecret"];
    self.model = [dictionary objectForKey:@"model"];
    self.manufacturer = [dictionary objectForKey:@"manufacturer"];
    self.dynamicRegister = [dictionary objectForKey:@"dynamicRegister"];
    return self;
}
 @end
@implementation ThingServiceMsg
-(id) initWithName:(NSString*) name
      msgId:(NSString*)msgId { 
     self.name = name;               
     self.msgId = msgId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self msgId])
    {
        [result setValue:[self msgId] forKey:@"msgId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.msgId = [dictionary objectForKey:@"msgId"];
    return self;
}
 @end
@implementation DeviceBatch
-(id) initWithBatchId:(NSString*) batchId
      batchNumber:(NSString*)batchNumber
      batchSize:(NSNumber*)batchSize
      productName:(NSString*)productName
      autoGenerated:(NSNumber*)autoGenerated
      registerResultUrl:(NSString*)registerResultUrl
      createdTime:(NSNumber*)createdTime { 
     self.batchId = batchId;               
     self.batchNumber = batchNumber;               
     self.batchSize = batchSize;               
     self.productName = productName;               
     self.autoGenerated = autoGenerated;               
     self.registerResultUrl = registerResultUrl;               
     self.createdTime = createdTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self batchId])
    {
        [result setValue:[self batchId] forKey:@"batchId"];
    }
    if([self batchNumber])
    {
        [result setValue:[self batchNumber] forKey:@"batchNumber"];
    }
    if([self batchSize])
    {
        [result setValue:[self batchSize] forKey:@"batchSize"];
    }
    if([self productName])
    {
        [result setValue:[self productName] forKey:@"productName"];
    }
    if([self autoGenerated])
    {
        [result setValue:[self autoGenerated] forKey:@"autoGenerated"];
    }
    if([self registerResultUrl])
    {
        [result setValue:[self registerResultUrl] forKey:@"registerResultUrl"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.batchId = [dictionary objectForKey:@"batchId"];
    self.batchNumber = [dictionary objectForKey:@"batchNumber"];
    self.batchSize = [dictionary objectForKey:@"batchSize"];
    self.productName = [dictionary objectForKey:@"productName"];
    self.autoGenerated = [dictionary objectForKey:@"autoGenerated"];
    self.registerResultUrl = [dictionary objectForKey:@"registerResultUrl"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    return self;
}
 @end
@implementation DeviceCredential
-(id) initWithDeviceId:(NSString*) deviceId
      deviceName:(NSString*)deviceName
      identifier:(NSString*)identifier
      secret:(NSString*)secret
      productKey:(NSString*)productKey { 
     self.deviceId = deviceId;               
     self.deviceName = deviceName;               
     self.identifier = identifier;               
     self.secret = secret;               
     self.productKey = productKey;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self deviceId])
    {
        [result setValue:[self deviceId] forKey:@"deviceId"];
    }
    if([self deviceName])
    {
        [result setValue:[self deviceName] forKey:@"deviceName"];
    }
    if([self identifier])
    {
        [result setValue:[self identifier] forKey:@"identifier"];
    }
    if([self secret])
    {
        [result setValue:[self secret] forKey:@"secret"];
    }
    if([self productKey])
    {
        [result setValue:[self productKey] forKey:@"productKey"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.deviceId = [dictionary objectForKey:@"deviceId"];
    self.deviceName = [dictionary objectForKey:@"deviceName"];
    self.identifier = [dictionary objectForKey:@"identifier"];
    self.secret = [dictionary objectForKey:@"secret"];
    self.productKey = [dictionary objectForKey:@"productKey"];
    return self;
}
 @end
@implementation Service
-(id) initWithName:(NSString*) name
      serviceId:(NSString*)serviceId
      descriptionValue:(NSString*)descriptionValue
      input:(NSObject*)input
      output:(NSObject*)output
      code:(NSNumber*)code
      createdTime:(NSNumber*)createdTime
      msgId:(NSString*)msgId
      message:(NSString*)message { 
     self.name = name;               
     self.serviceId = serviceId;               
     self.descriptionValue = descriptionValue;               
     self.input = input;               
     self.output = output;               
     self.code = code;               
     self.createdTime = createdTime;               
     self.msgId = msgId;               
     self.message = message;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self serviceId])
    {
        [result setValue:[self serviceId] forKey:@"serviceId"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self input])
    {
        [result setValue:[self input] forKey:@"input"];
    }
    if([self output])
    {
        [result setValue:[self output] forKey:@"output"];
    }
    if([self code])
    {
        [result setValue:[self code] forKey:@"code"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self msgId])
    {
        [result setValue:[self msgId] forKey:@"msgId"];
    }
    if([self message])
    {
        [result setValue:[self message] forKey:@"message"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.serviceId = [dictionary objectForKey:@"serviceId"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.input = [dictionary objectForKey:@"input"];
    self.output = [dictionary objectForKey:@"output"];
    self.code = [dictionary objectForKey:@"code"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    self.msgId = [dictionary objectForKey:@"msgId"];
    self.message = [dictionary objectForKey:@"message"];
    return self;
}
 @end
@implementation ThingServiceParam
-(id) initWithName:(NSString*) name
      input:(NSObject*)input
      callbackBeanName:(NSString*)callbackBeanName { 
     self.name = name;               
     self.input = input;               
     self.callbackBeanName = callbackBeanName;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self input])
    {
        [result setValue:[self input] forKey:@"input"];
    }
    if([self callbackBeanName])
    {
        [result setValue:[self callbackBeanName] forKey:@"callbackBeanName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.input = [dictionary objectForKey:@"input"];
    self.callbackBeanName = [dictionary objectForKey:@"callbackBeanName"];
    return self;
}
 @end
@implementation TopicList
-(id) initWithTopic:(NSString*) topic
      authority:(NSString*)authority
      descripton:(NSString*)descripton { 
     self.topic = topic;               
     self.authority = authority;               
     self.descripton = descripton;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self topic])
    {
        [result setValue:[self topic] forKey:@"topic"];
    }
    if([self authority])
    {
        [result setValue:[self authority] forKey:@"authority"];
    }
    if([self descripton])
    {
        [result setValue:[self descripton] forKey:@"descripton"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.topic = [dictionary objectForKey:@"topic"];
    self.authority = [dictionary objectForKey:@"authority"];
    self.descripton = [dictionary objectForKey:@"descripton"];
    return self;
}
 @end
@implementation Resource
-(id) initWithResourceId:(NSString*) resourceId
      resourceName:(NSString*)resourceName { 
     self.resourceId = resourceId;               
     self.resourceName = resourceName;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    if([self resourceName])
    {
        [result setValue:[self resourceName] forKey:@"resourceName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    self.resourceName = [dictionary objectForKey:@"resourceName"];
    return self;
}
 @end
@implementation DataVO
-(id) initWithId:(NSString*) idValue
      name:(NSString*)name
      subNetId:(NSString*)subNetId
      subNetName:(NSString*)subNetName
      vpcId:(NSString*)vpcId
      vpcName:(NSString*)vpcName
      azName:(NSString*)azName
      pubDomain:(NSString*)pubDomain
      priDomain:(NSString*)priDomain
      status:(NSNumber*)status
      createTime:(NSNumber*)createTime
      endTime:(NSNumber*)endTime
      maxDevices:(NSNumber*)maxDevices
      maxMessage:(NSNumber*)maxMessage
      instanceId:(NSString*)instanceId
      instanceType:(NSString*)instanceType { 
     self.idValue = idValue;               
     self.name = name;               
     self.subNetId = subNetId;               
     self.subNetName = subNetName;               
     self.vpcId = vpcId;               
     self.vpcName = vpcName;               
     self.azName = azName;               
     self.pubDomain = pubDomain;               
     self.priDomain = priDomain;               
     self.status = status;               
     self.createTime = createTime;               
     self.endTime = endTime;               
     self.maxDevices = maxDevices;               
     self.maxMessage = maxMessage;               
     self.instanceId = instanceId;               
     self.instanceType = instanceType;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self subNetId])
    {
        [result setValue:[self subNetId] forKey:@"subNetId"];
    }
    if([self subNetName])
    {
        [result setValue:[self subNetName] forKey:@"subNetName"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self vpcName])
    {
        [result setValue:[self vpcName] forKey:@"vpcName"];
    }
    if([self azName])
    {
        [result setValue:[self azName] forKey:@"azName"];
    }
    if([self pubDomain])
    {
        [result setValue:[self pubDomain] forKey:@"pubDomain"];
    }
    if([self priDomain])
    {
        [result setValue:[self priDomain] forKey:@"priDomain"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self maxDevices])
    {
        [result setValue:[self maxDevices] forKey:@"maxDevices"];
    }
    if([self maxMessage])
    {
        [result setValue:[self maxMessage] forKey:@"maxMessage"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    if([self instanceType])
    {
        [result setValue:[self instanceType] forKey:@"instanceType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.subNetId = [dictionary objectForKey:@"subNetId"];
    self.subNetName = [dictionary objectForKey:@"subNetName"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.vpcName = [dictionary objectForKey:@"vpcName"];
    self.azName = [dictionary objectForKey:@"azName"];
    self.pubDomain = [dictionary objectForKey:@"pubDomain"];
    self.priDomain = [dictionary objectForKey:@"priDomain"];
    self.status = [dictionary objectForKey:@"status"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.maxDevices = [dictionary objectForKey:@"maxDevices"];
    self.maxMessage = [dictionary objectForKey:@"maxMessage"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    self.instanceType = [dictionary objectForKey:@"instanceType"];
    return self;
}
 @end
@implementation InstanceInfoAsAdminVO
-(id) initWithInstanceId:(NSString*) instanceId
      name:(NSString*)name
      userPin:(NSString*)userPin
      subnetId:(NSString*)subnetId
      subNetName:(NSString*)subNetName
      vpcId:(NSString*)vpcId
      vpcName:(NSString*)vpcName
      azName:(NSString*)azName
      pubDomain:(NSString*)pubDomain
      priDomain:(NSString*)priDomain
      createTime:(NSNumber*)createTime
      endTime:(NSNumber*)endTime
      deleteTime:(NSNumber*)deleteTime
      descriptionValue:(NSString*)descriptionValue
      regionId:(NSString*)regionId
      regionName:(NSString*)regionName
      replicaNum:(NSNumber*)replicaNum
      maxDevices:(NSNumber*)maxDevices
      maxMessages:(NSNumber*)maxMessages
      rdsInstanceId:(NSString*)rdsInstanceId
      rdsDatabase:(NSString*)rdsDatabase
      rdsHostName:(NSString*)rdsHostName
      rdsUserName:(NSString*)rdsUserName
      rdsPasswd:(NSString*)rdsPasswd
      iothubAgentId:(NSString*)iothubAgentId
      iothubStatus:(NSNumber*)iothubStatus { 
     self.instanceId = instanceId;               
     self.name = name;               
     self.userPin = userPin;               
     self.subnetId = subnetId;               
     self.subNetName = subNetName;               
     self.vpcId = vpcId;               
     self.vpcName = vpcName;               
     self.azName = azName;               
     self.pubDomain = pubDomain;               
     self.priDomain = priDomain;               
     self.createTime = createTime;               
     self.endTime = endTime;               
     self.deleteTime = deleteTime;               
     self.descriptionValue = descriptionValue;               
     self.regionId = regionId;               
     self.regionName = regionName;               
     self.replicaNum = replicaNum;               
     self.maxDevices = maxDevices;               
     self.maxMessages = maxMessages;               
     self.rdsInstanceId = rdsInstanceId;               
     self.rdsDatabase = rdsDatabase;               
     self.rdsHostName = rdsHostName;               
     self.rdsUserName = rdsUserName;               
     self.rdsPasswd = rdsPasswd;               
     self.iothubAgentId = iothubAgentId;               
     self.iothubStatus = iothubStatus;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self userPin])
    {
        [result setValue:[self userPin] forKey:@"userPin"];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    if([self subNetName])
    {
        [result setValue:[self subNetName] forKey:@"subNetName"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self vpcName])
    {
        [result setValue:[self vpcName] forKey:@"vpcName"];
    }
    if([self azName])
    {
        [result setValue:[self azName] forKey:@"azName"];
    }
    if([self pubDomain])
    {
        [result setValue:[self pubDomain] forKey:@"pubDomain"];
    }
    if([self priDomain])
    {
        [result setValue:[self priDomain] forKey:@"priDomain"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self deleteTime])
    {
        [result setValue:[self deleteTime] forKey:@"deleteTime"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self regionId])
    {
        [result setValue:[self regionId] forKey:@"regionId"];
    }
    if([self regionName])
    {
        [result setValue:[self regionName] forKey:@"regionName"];
    }
    if([self replicaNum])
    {
        [result setValue:[self replicaNum] forKey:@"replicaNum"];
    }
    if([self maxDevices])
    {
        [result setValue:[self maxDevices] forKey:@"maxDevices"];
    }
    if([self maxMessages])
    {
        [result setValue:[self maxMessages] forKey:@"maxMessages"];
    }
    if([self rdsInstanceId])
    {
        [result setValue:[self rdsInstanceId] forKey:@"rdsInstanceId"];
    }
    if([self rdsDatabase])
    {
        [result setValue:[self rdsDatabase] forKey:@"rdsDatabase"];
    }
    if([self rdsHostName])
    {
        [result setValue:[self rdsHostName] forKey:@"rdsHostName"];
    }
    if([self rdsUserName])
    {
        [result setValue:[self rdsUserName] forKey:@"rdsUserName"];
    }
    if([self rdsPasswd])
    {
        [result setValue:[self rdsPasswd] forKey:@"rdsPasswd"];
    }
    if([self iothubAgentId])
    {
        [result setValue:[self iothubAgentId] forKey:@"iothubAgentId"];
    }
    if([self iothubStatus])
    {
        [result setValue:[self iothubStatus] forKey:@"iothubStatus"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    self.name = [dictionary objectForKey:@"name"];
    self.userPin = [dictionary objectForKey:@"userPin"];
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    self.subNetName = [dictionary objectForKey:@"subNetName"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.vpcName = [dictionary objectForKey:@"vpcName"];
    self.azName = [dictionary objectForKey:@"azName"];
    self.pubDomain = [dictionary objectForKey:@"pubDomain"];
    self.priDomain = [dictionary objectForKey:@"priDomain"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.deleteTime = [dictionary objectForKey:@"deleteTime"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.regionId = [dictionary objectForKey:@"regionId"];
    self.regionName = [dictionary objectForKey:@"regionName"];
    self.replicaNum = [dictionary objectForKey:@"replicaNum"];
    self.maxDevices = [dictionary objectForKey:@"maxDevices"];
    self.maxMessages = [dictionary objectForKey:@"maxMessages"];
    self.rdsInstanceId = [dictionary objectForKey:@"rdsInstanceId"];
    self.rdsDatabase = [dictionary objectForKey:@"rdsDatabase"];
    self.rdsHostName = [dictionary objectForKey:@"rdsHostName"];
    self.rdsUserName = [dictionary objectForKey:@"rdsUserName"];
    self.rdsPasswd = [dictionary objectForKey:@"rdsPasswd"];
    self.iothubAgentId = [dictionary objectForKey:@"iothubAgentId"];
    self.iothubStatus = [dictionary objectForKey:@"iothubStatus"];
    return self;
}
 @end
@implementation InstanceinfoVO
-(id) initWithInstanceId:(NSString*) instanceId
      name:(NSString*)name
      subnetId:(NSString*)subnetId
      subnetName:(NSString*)subnetName
      vpcId:(NSString*)vpcId
      vpcName:(NSString*)vpcName
      azName:(NSString*)azName
      pubDomain:(NSString*)pubDomain
      priDomain:(NSString*)priDomain
      instanceStatus:(NSString*)instanceStatus
      progressValue:(NSNumber*)progressValue
      createTime:(NSNumber*)createTime
      endTime:(NSNumber*)endTime
      descriptionValue:(NSString*)descriptionValue
      regionId:(NSString*)regionId
      regionName:(NSString*)regionName
      maxDevices:(NSNumber*)maxDevices
      maxMessages:(NSNumber*)maxMessages { 
     self.instanceId = instanceId;               
     self.name = name;               
     self.subnetId = subnetId;               
     self.subnetName = subnetName;               
     self.vpcId = vpcId;               
     self.vpcName = vpcName;               
     self.azName = azName;               
     self.pubDomain = pubDomain;               
     self.priDomain = priDomain;               
     self.instanceStatus = instanceStatus;               
     self.progressValue = progressValue;               
     self.createTime = createTime;               
     self.endTime = endTime;               
     self.descriptionValue = descriptionValue;               
     self.regionId = regionId;               
     self.regionName = regionName;               
     self.maxDevices = maxDevices;               
     self.maxMessages = maxMessages;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    if([self subnetName])
    {
        [result setValue:[self subnetName] forKey:@"subnetName"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self vpcName])
    {
        [result setValue:[self vpcName] forKey:@"vpcName"];
    }
    if([self azName])
    {
        [result setValue:[self azName] forKey:@"azName"];
    }
    if([self pubDomain])
    {
        [result setValue:[self pubDomain] forKey:@"pubDomain"];
    }
    if([self priDomain])
    {
        [result setValue:[self priDomain] forKey:@"priDomain"];
    }
    if([self instanceStatus])
    {
        [result setValue:[self instanceStatus] forKey:@"instanceStatus"];
    }
    if([self progressValue])
    {
        [result setValue:[self progressValue] forKey:@"progressValue"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self regionId])
    {
        [result setValue:[self regionId] forKey:@"regionId"];
    }
    if([self regionName])
    {
        [result setValue:[self regionName] forKey:@"regionName"];
    }
    if([self maxDevices])
    {
        [result setValue:[self maxDevices] forKey:@"maxDevices"];
    }
    if([self maxMessages])
    {
        [result setValue:[self maxMessages] forKey:@"maxMessages"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    self.name = [dictionary objectForKey:@"name"];
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    self.subnetName = [dictionary objectForKey:@"subnetName"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.vpcName = [dictionary objectForKey:@"vpcName"];
    self.azName = [dictionary objectForKey:@"azName"];
    self.pubDomain = [dictionary objectForKey:@"pubDomain"];
    self.priDomain = [dictionary objectForKey:@"priDomain"];
    self.instanceStatus = [dictionary objectForKey:@"instanceStatus"];
    self.progressValue = [dictionary objectForKey:@"progressValue"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.regionId = [dictionary objectForKey:@"regionId"];
    self.regionName = [dictionary objectForKey:@"regionName"];
    self.maxDevices = [dictionary objectForKey:@"maxDevices"];
    self.maxMessages = [dictionary objectForKey:@"maxMessages"];
    return self;
}
 @end
@implementation PageinfoVO
-(id) initWithPageSize:(NSNumber*) pageSize
      nowPage:(NSNumber*)nowPage
      totalSize:(NSNumber*)totalSize
      totalPage:(NSNumber*)totalPage { 
     self.pageSize = pageSize;               
     self.nowPage = nowPage;               
     self.totalSize = totalSize;               
     self.totalPage = totalPage;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self nowPage])
    {
        [result setValue:[self nowPage] forKey:@"nowPage"];
    }
    if([self totalSize])
    {
        [result setValue:[self totalSize] forKey:@"totalSize"];
    }
    if([self totalPage])
    {
        [result setValue:[self totalPage] forKey:@"totalPage"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.nowPage = [dictionary objectForKey:@"nowPage"];
    self.totalSize = [dictionary objectForKey:@"totalSize"];
    self.totalPage = [dictionary objectForKey:@"totalPage"];
    return self;
}
 @end
@implementation HubInstanceBo
-(id) initWithInstanceUuid:(NSString*) instanceUuid
      instanceId:(NSString*)instanceId
      instanceName:(NSString*)instanceName
      region:(NSString*)region { 
     self.instanceUuid = instanceUuid;               
     self.instanceId = instanceId;               
     self.instanceName = instanceName;               
     self.region = region;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceUuid])
    {
        [result setValue:[self instanceUuid] forKey:@"instanceUuid"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    if([self instanceName])
    {
        [result setValue:[self instanceName] forKey:@"instanceName"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceUuid = [dictionary objectForKey:@"instanceUuid"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    self.instanceName = [dictionary objectForKey:@"instanceName"];
    self.region = [dictionary objectForKey:@"region"];
    return self;
}
 @end
@implementation SharedUsers
-(id) initWithUserPin:(NSNumber*) userPin
      sourceId:(NSNumber*)sourceId
      regionName:(NSNumber*)regionName
      createTime:(NSNumber*)createTime
      tenantStatus:(NSNumber*)tenantStatus
      onDevices:(NSNumber*)onDevices
      dailyMessages:(NSNumber*)dailyMessages
      totalMessages:(NSNumber*)totalMessages { 
     self.userPin = userPin;               
     self.sourceId = sourceId;               
     self.regionName = regionName;               
     self.createTime = createTime;               
     self.tenantStatus = tenantStatus;               
     self.onDevices = onDevices;               
     self.dailyMessages = dailyMessages;               
     self.totalMessages = totalMessages;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self userPin])
    {
        [result setValue:[self userPin] forKey:@"userPin"];
    }
    if([self sourceId])
    {
        [result setValue:[self sourceId] forKey:@"sourceId"];
    }
    if([self regionName])
    {
        [result setValue:[self regionName] forKey:@"regionName"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self tenantStatus])
    {
        [result setValue:[self tenantStatus] forKey:@"tenantStatus"];
    }
    if([self onDevices])
    {
        [result setValue:[self onDevices] forKey:@"onDevices"];
    }
    if([self dailyMessages])
    {
        [result setValue:[self dailyMessages] forKey:@"dailyMessages"];
    }
    if([self totalMessages])
    {
        [result setValue:[self totalMessages] forKey:@"totalMessages"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.userPin = [dictionary objectForKey:@"userPin"];
    self.sourceId = [dictionary objectForKey:@"sourceId"];
    self.regionName = [dictionary objectForKey:@"regionName"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.tenantStatus = [dictionary objectForKey:@"tenantStatus"];
    self.onDevices = [dictionary objectForKey:@"onDevices"];
    self.dailyMessages = [dictionary objectForKey:@"dailyMessages"];
    self.totalMessages = [dictionary objectForKey:@"totalMessages"];
    return self;
}
 @end
@implementation ModulePageVo
-(id) initWithUuid:(NSString*) uuid
      moduleId:(NSString*)moduleId
      moduleName:(NSString*)moduleName
      deviceId:(NSString*)deviceId
      deviceName:(NSString*)deviceName
      deviceType:(NSNumber*)deviceType
      moduleStatus:(NSNumber*)moduleStatus
      moduleTypeVersion:(NSString*)moduleTypeVersion { 
     self.uuid = uuid;               
     self.moduleId = moduleId;               
     self.moduleName = moduleName;               
     self.deviceId = deviceId;               
     self.deviceName = deviceName;               
     self.deviceType = deviceType;               
     self.moduleStatus = moduleStatus;               
     self.moduleTypeVersion = moduleTypeVersion;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self uuid])
    {
        [result setValue:[self uuid] forKey:@"uuid"];
    }
    if([self moduleId])
    {
        [result setValue:[self moduleId] forKey:@"moduleId"];
    }
    if([self moduleName])
    {
        [result setValue:[self moduleName] forKey:@"moduleName"];
    }
    if([self deviceId])
    {
        [result setValue:[self deviceId] forKey:@"deviceId"];
    }
    if([self deviceName])
    {
        [result setValue:[self deviceName] forKey:@"deviceName"];
    }
    if([self deviceType])
    {
        [result setValue:[self deviceType] forKey:@"deviceType"];
    }
    if([self moduleStatus])
    {
        [result setValue:[self moduleStatus] forKey:@"moduleStatus"];
    }
    if([self moduleTypeVersion])
    {
        [result setValue:[self moduleTypeVersion] forKey:@"moduleTypeVersion"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.uuid = [dictionary objectForKey:@"uuid"];
    self.moduleId = [dictionary objectForKey:@"moduleId"];
    self.moduleName = [dictionary objectForKey:@"moduleName"];
    self.deviceId = [dictionary objectForKey:@"deviceId"];
    self.deviceName = [dictionary objectForKey:@"deviceName"];
    self.deviceType = [dictionary objectForKey:@"deviceType"];
    self.moduleStatus = [dictionary objectForKey:@"moduleStatus"];
    self.moduleTypeVersion = [dictionary objectForKey:@"moduleTypeVersion"];
    return self;
}
 @end
@implementation MonitorIotCoreInstance
-(id) initWithInstanceId:(NSString*) instanceId
      instanceName:(NSString*)instanceName
      createdTime:(NSNumber*)createdTime
      specifications:(NSString*)specifications
      instanceStatus:(NSString*)instanceStatus
      instanceDescription:(NSString*)instanceDescription
      expiredTime:(NSNumber*)expiredTime
      vpcName:(NSString*)vpcName
      subNetName:(NSString*)subNetName
      priDomain:(NSString*)priDomain
      pubDomain:(NSString*)pubDomain
      maxOnlineDevices:(NSNumber*)maxOnlineDevices
      maxMonthMessages:(NSNumber*)maxMonthMessages { 
     self.instanceId = instanceId;               
     self.instanceName = instanceName;               
     self.createdTime = createdTime;               
     self.specifications = specifications;               
     self.instanceStatus = instanceStatus;               
     self.instanceDescription = instanceDescription;               
     self.expiredTime = expiredTime;               
     self.vpcName = vpcName;               
     self.subNetName = subNetName;               
     self.priDomain = priDomain;               
     self.pubDomain = pubDomain;               
     self.maxOnlineDevices = maxOnlineDevices;               
     self.maxMonthMessages = maxMonthMessages;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    if([self instanceName])
    {
        [result setValue:[self instanceName] forKey:@"instanceName"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self specifications])
    {
        [result setValue:[self specifications] forKey:@"specifications"];
    }
    if([self instanceStatus])
    {
        [result setValue:[self instanceStatus] forKey:@"instanceStatus"];
    }
    if([self instanceDescription])
    {
        [result setValue:[self instanceDescription] forKey:@"instanceDescription"];
    }
    if([self expiredTime])
    {
        [result setValue:[self expiredTime] forKey:@"expiredTime"];
    }
    if([self vpcName])
    {
        [result setValue:[self vpcName] forKey:@"vpcName"];
    }
    if([self subNetName])
    {
        [result setValue:[self subNetName] forKey:@"subNetName"];
    }
    if([self priDomain])
    {
        [result setValue:[self priDomain] forKey:@"priDomain"];
    }
    if([self pubDomain])
    {
        [result setValue:[self pubDomain] forKey:@"pubDomain"];
    }
    if([self maxOnlineDevices])
    {
        [result setValue:[self maxOnlineDevices] forKey:@"maxOnlineDevices"];
    }
    if([self maxMonthMessages])
    {
        [result setValue:[self maxMonthMessages] forKey:@"maxMonthMessages"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    self.instanceName = [dictionary objectForKey:@"instanceName"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    self.specifications = [dictionary objectForKey:@"specifications"];
    self.instanceStatus = [dictionary objectForKey:@"instanceStatus"];
    self.instanceDescription = [dictionary objectForKey:@"instanceDescription"];
    self.expiredTime = [dictionary objectForKey:@"expiredTime"];
    self.vpcName = [dictionary objectForKey:@"vpcName"];
    self.subNetName = [dictionary objectForKey:@"subNetName"];
    self.priDomain = [dictionary objectForKey:@"priDomain"];
    self.pubDomain = [dictionary objectForKey:@"pubDomain"];
    self.maxOnlineDevices = [dictionary objectForKey:@"maxOnlineDevices"];
    self.maxMonthMessages = [dictionary objectForKey:@"maxMonthMessages"];
    return self;
}
 @end
@implementation EdgeInfoVO
-(id) initWithUuid:(NSString*) uuid
      edgeId:(NSString*)edgeId
      edgeName:(NSString*)edgeName
      edgeStatus:(NSNumber*)edgeStatus
      edgeDesc:(NSString*)edgeDesc
      edgeVersion:(NSString*)edgeVersion
      createTime:(NSString*)createTime
      lastOnlineTime:(NSString*)lastOnlineTime
      lastTurnOnTime:(NSString*)lastTurnOnTime
      iothubInstanceId:(NSString*)iothubInstanceId
      iothubInstanceName:(NSString*)iothubInstanceName { 
     self.uuid = uuid;               
     self.edgeId = edgeId;               
     self.edgeName = edgeName;               
     self.edgeStatus = edgeStatus;               
     self.edgeDesc = edgeDesc;               
     self.edgeVersion = edgeVersion;               
     self.createTime = createTime;               
     self.lastOnlineTime = lastOnlineTime;               
     self.lastTurnOnTime = lastTurnOnTime;               
     self.iothubInstanceId = iothubInstanceId;               
     self.iothubInstanceName = iothubInstanceName;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self uuid])
    {
        [result setValue:[self uuid] forKey:@"uuid"];
    }
    if([self edgeId])
    {
        [result setValue:[self edgeId] forKey:@"edgeId"];
    }
    if([self edgeName])
    {
        [result setValue:[self edgeName] forKey:@"edgeName"];
    }
    if([self edgeStatus])
    {
        [result setValue:[self edgeStatus] forKey:@"edgeStatus"];
    }
    if([self edgeDesc])
    {
        [result setValue:[self edgeDesc] forKey:@"edgeDesc"];
    }
    if([self edgeVersion])
    {
        [result setValue:[self edgeVersion] forKey:@"edgeVersion"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self lastOnlineTime])
    {
        [result setValue:[self lastOnlineTime] forKey:@"lastOnlineTime"];
    }
    if([self lastTurnOnTime])
    {
        [result setValue:[self lastTurnOnTime] forKey:@"lastTurnOnTime"];
    }
    if([self iothubInstanceId])
    {
        [result setValue:[self iothubInstanceId] forKey:@"iothubInstanceId"];
    }
    if([self iothubInstanceName])
    {
        [result setValue:[self iothubInstanceName] forKey:@"iothubInstanceName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.uuid = [dictionary objectForKey:@"uuid"];
    self.edgeId = [dictionary objectForKey:@"edgeId"];
    self.edgeName = [dictionary objectForKey:@"edgeName"];
    self.edgeStatus = [dictionary objectForKey:@"edgeStatus"];
    self.edgeDesc = [dictionary objectForKey:@"edgeDesc"];
    self.edgeVersion = [dictionary objectForKey:@"edgeVersion"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.lastOnlineTime = [dictionary objectForKey:@"lastOnlineTime"];
    self.lastTurnOnTime = [dictionary objectForKey:@"lastTurnOnTime"];
    self.iothubInstanceId = [dictionary objectForKey:@"iothubInstanceId"];
    self.iothubInstanceName = [dictionary objectForKey:@"iothubInstanceName"];
    return self;
}
 @end
@implementation ChildModules
-(id) initWithModuleId:(NSString*) moduleId
      moduleName:(NSString*)moduleName
      moduleTypeVersion:(NSString*)moduleTypeVersion
      omName:(NSString*)omName
      omDesc:(NSString*)omDesc
      moduleState:(NSString*)moduleState { 
     self.moduleId = moduleId;               
     self.moduleName = moduleName;               
     self.moduleTypeVersion = moduleTypeVersion;               
     self.omName = omName;               
     self.omDesc = omDesc;               
     self.moduleState = moduleState;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self moduleId])
    {
        [result setValue:[self moduleId] forKey:@"moduleId"];
    }
    if([self moduleName])
    {
        [result setValue:[self moduleName] forKey:@"moduleName"];
    }
    if([self moduleTypeVersion])
    {
        [result setValue:[self moduleTypeVersion] forKey:@"moduleTypeVersion"];
    }
    if([self omName])
    {
        [result setValue:[self omName] forKey:@"omName"];
    }
    if([self omDesc])
    {
        [result setValue:[self omDesc] forKey:@"omDesc"];
    }
    if([self moduleState])
    {
        [result setValue:[self moduleState] forKey:@"moduleState"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.moduleId = [dictionary objectForKey:@"moduleId"];
    self.moduleName = [dictionary objectForKey:@"moduleName"];
    self.moduleTypeVersion = [dictionary objectForKey:@"moduleTypeVersion"];
    self.omName = [dictionary objectForKey:@"omName"];
    self.omDesc = [dictionary objectForKey:@"omDesc"];
    self.moduleState = [dictionary objectForKey:@"moduleState"];
    return self;
}
 @end
@implementation ChildDevices
-(id) initWithDeviceId:(NSString*) deviceId
      deviceName:(NSString*)deviceName
      deviceServiceName:(NSString*)deviceServiceName
      online:(NSString*)online { 
     self.deviceId = deviceId;               
     self.deviceName = deviceName;               
     self.deviceServiceName = deviceServiceName;               
     self.online = online;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self deviceId])
    {
        [result setValue:[self deviceId] forKey:@"deviceId"];
    }
    if([self deviceName])
    {
        [result setValue:[self deviceName] forKey:@"deviceName"];
    }
    if([self deviceServiceName])
    {
        [result setValue:[self deviceServiceName] forKey:@"deviceServiceName"];
    }
    if([self online])
    {
        [result setValue:[self online] forKey:@"online"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.deviceId = [dictionary objectForKey:@"deviceId"];
    self.deviceName = [dictionary objectForKey:@"deviceName"];
    self.deviceServiceName = [dictionary objectForKey:@"deviceServiceName"];
    self.online = [dictionary objectForKey:@"online"];
    return self;
}
 @end
@implementation EdgePageVo
-(id) initWithEdgeId:(NSString*) edgeId
      edgeName:(NSString*)edgeName
      edgeState:(NSString*)edgeState
      omName:(NSString*)omName
      lastOnlineTime:(NSString*)lastOnlineTime { 
     self.edgeId = edgeId;               
     self.edgeName = edgeName;               
     self.edgeState = edgeState;               
     self.omName = omName;               
     self.lastOnlineTime = lastOnlineTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self edgeId])
    {
        [result setValue:[self edgeId] forKey:@"edgeId"];
    }
    if([self edgeName])
    {
        [result setValue:[self edgeName] forKey:@"edgeName"];
    }
    if([self edgeState])
    {
        [result setValue:[self edgeState] forKey:@"edgeState"];
    }
    if([self omName])
    {
        [result setValue:[self omName] forKey:@"omName"];
    }
    if([self lastOnlineTime])
    {
        [result setValue:[self lastOnlineTime] forKey:@"lastOnlineTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.edgeId = [dictionary objectForKey:@"edgeId"];
    self.edgeName = [dictionary objectForKey:@"edgeName"];
    self.edgeState = [dictionary objectForKey:@"edgeState"];
    self.omName = [dictionary objectForKey:@"omName"];
    self.lastOnlineTime = [dictionary objectForKey:@"lastOnlineTime"];
    return self;
}
 @end
@implementation Product
-(id) initWithProductName:(NSString*) productName
      productId:(NSString*)productId
      productType:(NSNumber*)productType
      productKey:(NSString*)productKey
      createdTime:(NSNumber*)createdTime
      templateName:(NSString*)templateName { 
     self.productName = productName;               
     self.productId = productId;               
     self.productType = productType;               
     self.productKey = productKey;               
     self.createdTime = createdTime;               
     self.templateName = templateName;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self productName])
    {
        [result setValue:[self productName] forKey:@"productName"];
    }
    if([self productId])
    {
        [result setValue:[self productId] forKey:@"productId"];
    }
    if([self productType])
    {
        [result setValue:[self productType] forKey:@"productType"];
    }
    if([self productKey])
    {
        [result setValue:[self productKey] forKey:@"productKey"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self templateName])
    {
        [result setValue:[self templateName] forKey:@"templateName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.productName = [dictionary objectForKey:@"productName"];
    self.productId = [dictionary objectForKey:@"productId"];
    self.productType = [dictionary objectForKey:@"productType"];
    self.productKey = [dictionary objectForKey:@"productKey"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    self.templateName = [dictionary objectForKey:@"templateName"];
    return self;
}
 @end
@implementation RegionInfo
-(id) initWithRegionId:(NSString*) regionId
      regionName:(NSString*)regionName
      azInfo:(NSArray<Azs*>*)azInfo { 
     self.regionId = regionId;               
     self.regionName = regionName;               
     self.azInfo = azInfo;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self regionId])
    {
        [result setValue:[self regionId] forKey:@"regionId"];
    }
    if([self regionName])
    {
        [result setValue:[self regionName] forKey:@"regionName"];
    }
    if([self azInfo])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self azInfo] count]; i++) {
            Azs* item = [[self azInfo] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"azInfo"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.regionId = [dictionary objectForKey:@"regionId"];
    self.regionName = [dictionary objectForKey:@"regionName"];
    NSArray* azInfoArray = [dictionary objectForKey:@"azInfo"];
    if(azInfoArray&&![azInfoArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [azInfoArray count];i++)
        {
            Azs* item = [[Azs alloc]initWithDic:[azInfoArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.azInfo = propertyArray;
    }
    return self;
}
 @end
@implementation SharedUserPage
-(id) initWithTotalSize:(NSNumber*) totalSize
      totalPage:(NSNumber*)totalPage
      pageSize:(NSNumber*)pageSize
      nowPage:(NSNumber*)nowPage
      users:(NSArray<SharedUsers*>*)users { 
     self.totalSize = totalSize;               
     self.totalPage = totalPage;               
     self.pageSize = pageSize;               
     self.nowPage = nowPage;               
     self.users = users;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self totalSize])
    {
        [result setValue:[self totalSize] forKey:@"totalSize"];
    }
    if([self totalPage])
    {
        [result setValue:[self totalPage] forKey:@"totalPage"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self nowPage])
    {
        [result setValue:[self nowPage] forKey:@"nowPage"];
    }
    if([self users])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self users] count]; i++) {
            SharedUsers* item = [[self users] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"users"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.totalSize = [dictionary objectForKey:@"totalSize"];
    self.totalPage = [dictionary objectForKey:@"totalPage"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.nowPage = [dictionary objectForKey:@"nowPage"];
    NSArray* usersArray = [dictionary objectForKey:@"users"];
    if(usersArray&&![usersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [usersArray count];i++)
        {
            SharedUsers* item = [[SharedUsers alloc]initWithDic:[usersArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.users = propertyArray;
    }
    return self;
}
 @end
@implementation ProductService
-(id) initWithName:(NSString*) name
      descriptionValue:(NSString*)descriptionValue
      input:(NSArray<ProductProperty*>*)input
      output:(NSArray<ProductProperty*>*)output
      customized:(NSNumber*)customized
      createdTime:(NSNumber*)createdTime { 
     self.name = name;               
     self.descriptionValue = descriptionValue;               
     self.input = input;               
     self.output = output;               
     self.customized = customized;               
     self.createdTime = createdTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self input])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self input] count]; i++) {
            ProductProperty* item = [[self input] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"input"];
    }
    if([self output])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self output] count]; i++) {
            ProductProperty* item = [[self output] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"output"];
    }
    if([self customized])
    {
        [result setValue:[self customized] forKey:@"customized"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    NSArray* inputArray = [dictionary objectForKey:@"input"];
    if(inputArray&&![inputArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [inputArray count];i++)
        {
            ProductProperty* item = [[ProductProperty alloc]initWithDic:[inputArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.input = propertyArray;
    }
    NSArray* outputArray = [dictionary objectForKey:@"output"];
    if(outputArray&&![outputArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [outputArray count];i++)
        {
            ProductProperty* item = [[ProductProperty alloc]initWithDic:[outputArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.output = propertyArray;
    }
    self.customized = [dictionary objectForKey:@"customized"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    return self;
}
 @end
 
 


